/*
apply 调用指定的JS函数
函数的第一个参数都是 this 的指向对象
call 参数都必须放在一个数组里面传进去 ，

直接放到后面 fn.foo.call(Fn,[arg1,arg2,...arg])。
 */

const person = {
    fullName: function(email=null,phone=null) {
        console.log(this.firstName + " " + this.lastName+" "+email+" "+phone)
    }
}
const person1 = {
    firstName:"Bill",
    lastName: "Gates",
}
const person2 = {
    firstName:"Steve",
    lastName: "Jobs",
}

person.fullName.apply(person1) // Bill Gates null null

person.fullName.apply(person2) // Steve Jobs null null

person.fullName.apply(person1,['qq@123.com','123456']) // Bill Gates qq@123.com 123456

person.fullName.apply(person2,['qq@123.com','123456']) // Steve Jobs qq@123.com 123456

// person.fullName.apply(person2,'qq@123.com','123456') // 这个报错